redis 命令、命令行根据前缀(通配符)批量删除redis存储的key |
您所在的位置:网站首页 › redis 删除目录 › redis 命令、命令行根据前缀(通配符)批量删除redis存储的key |
redis简介
redis作为缓存服务器在项目中经常使用 使用redis存储数据时,我们经常会将key分组使用冒号(:)分组或者其他的自定义前缀方式,如果我们需要清除redis特定的key内容时,在命令行下又没有直接的命令可用,可以使用linux的xargs参数或者第三方工具 一、使用命令行批量删除redis的key首先linux服务器上需要安装redis客户端,然后进入到redis-cli命令所在的目录 ./redis-cli -h IP -p PORT -a PASSWORD keys 'key*' | xargs ./redis-cli -h IP -p PORT -a PASSWORD del IP:redis服务器的IP地址 PORT:redis服务的端口 PASSWORD :redis服务的密码 例如:删除本机127.0.0.1,默认端口6379,密码为123456的redis服务上org开头的key ./redis-cli -h 127.0.0.1 -p 6379 -a 123456 keys 'org*' | xargs ./redis-cli -h 127.0.0.1 -p 6379 -a 123456 del 二、使用图形界面工具RedisDesktopManager新版本的RedisDesktopManager目前支持通过分组批量删除key 打开软件,点击左下角的“Connect to Redis Server”新建redis链接 redis-connect.png 配置:连接的别名(Name:自定义)、Host(redis服务的ip)、端口(port)、密码(Auth)连接到redis服务在需要删除的key分组上右击“Delete Namaspace”删除分组 del-namespace.png 注意如果通过工具的Namaspace删除key分组,key的前缀分别必须使用冒号“:”进行分组,否则无法使用工具删除 三、使用jedis批量删除keys方法将需要删除的key转换成数组传入jedis.del(keys)批量删除key // java代码 public static void deleteByPattern(Jedis jedis, String pattern) { Set keys = jedis.keys(pattern); if(keys != null && !keys.isEmpty()) { String keyArr[] = new String[keys.size()]; jedis.del(keys.toArray(keyArr)); } } // jedis的del方法源码 public Long del(final String... keys) { checkIsInMultiOrPipeline(); client.del(keys); return client.getIntegerReply(); } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |